import axios from 'axios';
import { ElMessage } from 'element-plus';
import useUserStore from '@/store/modules/user';
const request = axios.create({
    baseURL: import.meta.env.VITE_APP_BASE_API, //基础路径
    timeout: 5000,
});

// 配置请求拦截器
request.interceptors.request.use((config) => {
    // 返回配置对象
    // headers 属性请求头 携带公共参数
    let useStore = useUserStore();

    if (useStore.token) {
        config.headers.token = useStore.token;
    }
    return config;
});
// 响应拦截器
request.interceptors.response.use(
    (response) => {
        // 响应成功
        // 简化数据
        return response.data;
    },
    (error) => {
        // 失败回调
        let message = '';
        let status = error.response.status;
        switch (status) {
            case 401:
                message = 'Token过期';
                break;
            case 403:
                message = '没有权限';
                break;
            case 404:
                message = '请求资源不存在';
                break;
            case 500:
                message = '服务器错误';
                break;
            default:
                message = '网络错误';
                break;
        }
        ElMessage({
            type: 'error',
            message,
        });
        return Promise.reject(error);
    },
);
export default request;
